<template>
    <el-card>
        <div slot="header">
            <div class="category-header">
                <span>销售额类别占比</span>
                <el-radio-group v-model="value" size="small">
                    <el-radio-button label="全部渠道"></el-radio-button>
                    <el-radio-button label="线上"></el-radio-button>
                    <el-radio-button label="门店"></el-radio-button>
                </el-radio-group>
            </div>
        </div>
        <div>
            <div class="charts" ref="charts"></div>
        </div>
    </el-card>
</template>

<script>
import * as echarts from 'echarts'
export default {
    name: 'Category',
    data() {
        return {
            value: '全部渠道',
            myCharts: null
        }
    },
    mounted() {
        this.myCharts = echarts.init(this.$refs.charts)
        this.myCharts.setOption({
            title: {
                text: '视频',
                subtext: 1048,
                left: 'center',
                top: 'center'
            },
            tooltip: {
                trigger: 'item'
            },
            series: [
                {
                    name: 'Access From',
                    type: 'pie',
                    radius: ['40%', '70%'],
                    avoidLabelOverlap: false,
                    itemStyle: {
                        borderRadius: 10,
                        borderColor: '#fff',
                        borderWidth: 2
                    },
                    label: {
                        show: true,
                        position: 'outer'
                    },
                    labelLine: {
                        show: true
                    },
                    data: [
                        { value: 1048, name: 'Search Engine' },
                        { value: 735, name: 'Direct' },
                        { value: 580, name: 'Email' },
                        { value: 484, name: 'Union Ads' },
                        { value: 300, name: 'Video Ads' }
                    ]
                }
            ]
        });
        // 绑定事件
        this.myCharts.on('mouseover', (params) => {
            const {name, value} = params.data
            this.myCharts.setOption({
                title: {
                    text: name,
                    subtext: value
                }
            })
        });
    }
}
</script>

<style scoped>
.category-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
    font-size: 14px;
}

.charts {
    width: 100%;
    height: 300px;
}
</style>